HEAD
Время формирования: 2025-10-15 15:10
Нумерация: Датчик 1 = Датчик 1-7 (T9); Датчик 2 = Датчик 1-8 (T10); Датчик 3 = Датчик 1-9 (T11)
L2: Y = -2.751088e-06·X^3 + 2.5790822e-05·X^2 + 1.0039124·X - 0.10745339 | RMSE=0.00216371, MAE=0.00172238, Max|err|=0.00338897
L_inf: Y = -8.2747493e-07·X^3 - 0.00016954287·X^2 + 1.0101263·X - 0.16984051 | RMSE=0.00234093, MAE=0.00230771, Max|err|=0.00297913
L2: Y = -5.8574927e-07·X^3 - 0.00015069247·X^2 + 1.0075655·X - 0.35547515 | RMSE=0.000263388, MAE=0.000211801, Max|err|=0.000426298
L_inf: Y = -3.3470524e-07·X^3 - 0.00017566289·X^2 + 1.0083478·X - 0.36325296 | RMSE=0.000286694, MAE=0.000281467, Max|err|=0.000375103
L2: Y = 4.8176093e-06·X^3 - 0.00053158534·X^2 + 1.0162929·X - 0.25371114 | RMSE=0.0011717, MAE=0.000933485, Max|err|=0.00191682
L_inf: Y = 6.301231e-06·X^3 - 0.00067088579·X^2 + 1.0204821·X - 0.29413542 | RMSE=0.00125254, MAE=0.00122922, Max|err|=0.00168362
Статистика по усреднённым температурам и разбросам внутри корзин.
| bin_center | bin_low | bin_high | x_mean | x_std | y_mean | y_std | n_samples | start_date | end_date | source_file |
|---|---|---|---|---|---|---|---|---|---|---|
| 23 | 22.5 | 23.5 | 22.9844 | 0.000777019 | 22.9457 | 0.000698377 | 3320 | 2025-08-15 21:50:14 | 2025-08-15 22:45:34 | uploaded:Log_192.168.77.10_2025_08_15.txt |
| 19 | 18.5 | 19.5 | 18.9934 | 0.000781846 | 18.9511 | 0.000710096 | 2119 | 2025-08-15 20:49:24 | 2025-08-15 21:24:43 | uploaded:Log_192.168.77.10_2025_08_15.txt |
| 27 | 26.5 | 27.5 | 26.9639 | 0.00114636 | 26.9302 | 0.000897697 | 2009 | 2025-08-15 23:12:38 | 2025-08-15 23:46:07 | uploaded:Log_192.168.77.10_2025_08_15.txt |
| 31 | 30.5 | 31.5 | 30.9553 | 0.00133272 | 30.9089 | 0.00105637 | 322 | 2025-08-16 01:16:31 | 2025-08-16 01:21:52 | uploaded:Log_192.168.77.10_2025_08_15.txt |
| 35 | 34.5 | 35.5 | 34.9309 | 0.000887756 | 34.8747 | 0.000728935 | 167 | 2025-08-16 01:58:06 | 2025-08-16 02:00:52 | uploaded:Log_192.168.77.10_2025_08_15.txt |
| 19 | 19.0608 | 19.0109 | 0.00999789 | 0.00930389 | 59 | 2025-01-01 00:03:54 | 2025-01-01 00:04:52 |
| 27 | 27.0618 | 27.0119 | 0.0097779 | 0.00997183 | 57 | 2025-01-01 01:03:53 | 2025-01-01 01:04:49 |
| 35 | 35.0614 | 35.0109 | 0.00981262 | 0.00906648 | 56 | 2025-01-01 02:03:55 | 2025-01-01 02:04:50 |
| 23 | 23.0801 | 23.03 | 0.010522 | 0.010571 | 54 | 2025-01-01 00:33:21 | 2025-01-01 00:34:14 |
| 31 | 31.0807 | 31.0306 | 0.0102473 | 0.0101256 | 53 | 2025-01-01 01:33:22 | 2025-01-01 01:34:14 |
| bin_center | bin_low | bin_high | x_mean | x_std | y_mean | y_std | n_samples | start_date | end_date | source_file |
|---|---|---|---|---|---|---|---|---|---|---|
| 23 | 22.5 | 23.5 | 23.2142 | 0.000713978 | 22.9457 | 0.000733456 | 3329 | 2025-08-15 21:49:55 | 2025-08-15 22:45:24 | uploaded:Log_192.168.77.10_2025_08_15.txt |
| 27 | 26.5 | 27.5 | 27.2034 | 0.000900655 | 26.9308 | 0.000877296 | 2284 | 2025-08-15 23:28:20 | 2025-08-16 00:06:24 | uploaded:Log_192.168.77.10_2025_08_15.txt |
| 19 | 18.5 | 19.5 | 19.221 | 0.000871905 | 18.9511 | 0.00068105 | 1190 | 2025-08-15 20:58:44 | 2025-08-15 21:18:34 | uploaded:Log_192.168.77.10_2025_08_15.txt |
| 31 | 30.5 | 31.5 | 31.1931 | 0.0011187 | 30.9088 | 0.00116493 | 442 | 2025-08-16 01:15:07 | 2025-08-16 01:22:28 | uploaded:Log_192.168.77.10_2025_08_15.txt |
| 35 | 34.5 | 35.5 | 35.1698 | 0.00100153 | 34.8686 | 0.000913908 | 144 | 2025-08-16 01:48:09 | 2025-08-16 01:50:32 | uploaded:Log_192.168.77.10_2025_08_15.txt |
| bin_center | bin_low | bin_high | x_mean | x_std | y_mean | y_std | n_samples | start_date | end_date | source_file | =======19 | 19.0129 | 19.012 | 0.00333777 | 0.010401 | 62 | 2025-01-01 00:03:51 | 2025-01-01 00:04:52 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 35 | 35.3733 | 35.012 | 0.00288798 | 0.0101613 | 59 | 2025-01-01 02:03:52 | 2025-01-01 02:04:50 | |||||||||||
| 27 | 27.1934 | 27.0119 | 0.00297153 | 0.00997183 | 57 | 2025-01-01 01:03:53 | 2025-01-01 01:04:49 | |||||||||||
| 23 | 23.1015 | 23.03 | 0.00275498 | 0.010571 | 54 | 2025-01-01 00:33:21 | 2025-01-01 00:34:14 | |||||||||||
| 31 | 31.2815 | 31.0306 | 0.00305388 | 0.0101256 | 53 | 2025-01-01 01:33:22 | 2025-01-01 01:34:14 |
| method | degree | formula | rmse | mae | maxerr | >>>>>>> 357a36878152ce01741d52e0f36f2409cfed7a23|||||
|---|---|---|---|---|---|---|---|---|---|---|
| 23 | 22.5 | 23.5 | 23.0481 | 0.000760092 | 22.9457 | 0.000735438 | 3337 | 2025-08-15 21:49:55 | 2025-08-15 22:45:32 | uploaded:Log_192.168.77.10_2025_08_15.txt |
| 19 | 18.5 | 19.5 | 19.054 | 0.000915597 | 18.9513 | 0.000771708 | 2770 | 2025-08-15 20:38:31 | 2025-08-15 21:24:41 | uploaded:Log_192.168.77.10_2025_08_15.txt |
| 27 | 26.5 | 27.5 | 27.0351 | 0.00100927 | 26.9301 | 0.000854663 | 1766 | 2025-08-15 23:12:59 | 2025-08-15 23:42:25 | uploaded:Log_192.168.77.10_2025_08_15.txt |
| 31 | 30.5 | 31.5 | 31.0267 | 0.00112658 | 30.9088 | 0.00115121 | 455 | 2025-08-16 01:15:07 | 2025-08-16 01:22:41 | uploaded:Log_192.168.77.10_2025_08_15.txt |
| 35 | 34.5 | 35.5 | 35.0027 | 0.000983648 | 34.8748 | 0.000689538 | 162 | 2025-08-16 01:58:05 | 2025-08-16 02:00:46 | uploaded:Log_192.168.77.10_2025_08_15.txt |
Fig. 1. Датчик 1-7: временной ряд и устойчивые сегменты
Fig. 2. Датчик 1-8: временной ряд и устойчивые сегменты
Fig. 3. Датчик 1-9: временной ряд и устойчивые сегменты
Fig. 4. Датчик 1-7: полиномиальные аппроксимации и остатки
Fig. 5. Датчик 1-8: полиномиальные аппроксимации и остатки
Fig. 6. Датчик 1-9: полиномиальные аппроксимации и остатки
Fig. 7. Датчик 1-7: сравнение моделей L2 и L_inf
Fig. 8. Датчик 1-8: сравнение моделей L2 и L_inf
Fig. 9. Датчик 1-9: сравнение моделей L2 и L_inf
Fig. 10. Датчик 1-7: базовые графики X–Y и дисперсии
Fig. 11. Датчик 1-8: базовые графики X–Y и дисперсии
Fig. 12. Датчик 1-9: базовые графики X–Y и дисперсии
Структура процесса. Сырые логи агрегируются, эталон фильтруется скользящими окнами (STD_THR, DIFF_THR), устойчивые сегменты длиной не менее MIN_LEN группируются по корзинам DEG_TOL, после чего усреднённые пары (датчик, эталон) используются для построения моделей.
Взвешенная МНК. Используются веса 436w_i = \frac{1}{\max(\sigma_{ref,i}, \varepsilon)}436 и минимизируется функционал 436\sum_i w_i^2 (T_{sens,i} - p^{(d)}(T_{ref,i}))^2.436
Минимакс модель. Полином ^{(d)}$ строится как решение 436\min_{p \in \Pi_d} \max_i |T_{sens,i} - p(T_{ref,i})|,436 реализованное через линейное программирование HiGHS или IRLS-приближение.
Интерпретация. Полученные коэффициенты переводят температуру датчика в шкалу эталона. Показатели σ и Δ(L2,L_inf) позволяют контролировать качество исходных данных и чувствительность модели к выбросам.
Среднее σ датчиков: 0.000955176 °C; σ эталона: 0.000844312 °C.
Средний RMSE: L2 = 0.0011996 °C, L_inf = 0.00129339 °C.
Максимальное расхождение между L2 и L_inf: 0.00168198 °C.
Случайная погрешность итоговой калибровки оценивается как 0.0011996 °C (L2) и 0.00129339 °C (L_inf). Качество исходных данных признаётся удовлетворительным, если σ эталона остаётся ниже MAX_REF_RANGE.
| method | degree | formula | rmse | mae | maxerr |
|---|---|---|---|---|---|
| L2 | 1 | Y = 0.97800012·X + 0.42491276 | 0.00980652 | 0.0095726 | 0.0124314 |
| L2 | 2 | Y = -0.00015883437·X^2 + 0.9866453·X + 0.31253588 | 0.00862867 | 0.00743598 | 0.0133474 |
| L2 | 3 | Y = -3.946883e-06·X^3 + 0.00016350824·X^2 + 0.97809494·X + 0.38603098 | 0.00863018 | 0.00743924 | 0.0133276 |
| L_inf | 1 | Y = 0.97804223·X + 0.42577562 | 0.0099825 | 0.00997422 | 0.0102875 |
| L_inf | 2 | Y = -9.6176953e-06·X^2 + 0.9786438·X + 0.41644975 | 0.00981589 | 0.00976531 | 0.010618 |
| L_inf | 3 | Y = -3.1846245e-06·X^3 + 0.00026977411·X^2 + 0.97056595·X + 0.4933877 | 0.0101286 | 0.0101264 | 0.0104474 |
Вход — журналы температур: столбец времени (date) и температурные каналы T0..T15 (в °C). Эталонный канал — T8 (Эталон 2-1). Калибруемые каналы — Датчик 1-10, Датчик 1-12.
Стабильность определяется скользящими метриками по окну WINDOW_N: σ(T) ≤ STD_THR и средняя |ΔT| ≤ DIFF_THR. Эталон группируется по уровням с шагом DEG_TOL (корзины полочек), в каждой корзине берётся самый длинный стабильный интервал при контроле дрейфа эталона ≤ MAX_REF_DRIFT. Для этих интервалов рассчитываются средние и std: X = ⟨датчик⟩, Y = ⟨эталон⟩, а также x_std, y_std.
Практика: контролируйте Max|err| на краях диапазона, сравнивайте RMSE/MAE между L2 и L_inf, отслеживайте структуру остатков (смещения/немонотонности), избегайте переобучения при высоких степенях и слабом покрытии полочек.
Датчик 1-12: точки и std
Датчик 1-10: точки и std
Датчик 1-12: полиномы и остатки
Датчик 1-10: полиномы и остатки
Датчик 1-12: L2/L_inf модели и остатки
Датчик 1-10: L2/L_inf модели и остатки